package com.tonann.app.service;

import com.tonann.app.VO.FaultVO;
import com.tonann.app.domain.AppFault;

import java.util.List;
import java.util.Set;

/**
 * 故障记录Service接口
 *
 * @author tonann
 * @date 2022-10-15
 */
public interface IAppFaultService {
    /**
     * 查询故障记录
     *
     * @param faultId 故障记录主键
     * @return 故障记录
     */
    public AppFault selectAppFaultByFaultId(Long faultId);

    /**
     * 查询故障记录列表
     *
     * @param appFault 故障记录
     * @return 故障记录集合
     */
    public List<AppFault> selectAppFaultList(AppFault appFault);

    /**
     * 新增故障记录
     *
     * @param appFault 故障记录
     * @return 结果
     */
    public int insertAppFault(AppFault appFault);

    /**
     * 修改故障记录
     *
     * @param appFault 故障记录
     * @return 结果
     */
    public int updateAppFault(AppFault appFault);

    /**
     * 批量删除故障记录
     *
     * @param faultIds 需要删除的故障记录主键集合
     * @return 结果
     */
    public int deleteAppFaultByFaultIds(Long[] faultIds);

    /**
     * 删除故障记录信息
     *
     * @param faultId 故障记录主键
     * @return 结果
     */
    public int deleteAppFaultByFaultId(Long faultId);

    List<FaultVO> getDeviceFaultName(Set<Long> set);

    List<AppFault> selectAppFaultByDeviceIds(Set<Long> set, Long userId, String isRead, String orderLevel, String orderTime);

    List<AppFault> selectUnCheckedAppFaultListByDeviceId(Long deviceId);

    List<AppFault> selectUnCheckedAppFaultListByDeviceIds(Set<Long> set);
}
